package cn.wolfcode.result;

import lombok.Getter;
import lombok.Setter;

import java.util.Collections;
import java.util.List;

@Getter
@Setter
public class PageResult<T> {
    private int currentPage;
    private int pageSize;
    private int totalCount;
    private List<T> data;
    private int totalPage;
    private int prevPage;
    private int nextPage;

    public PageResult(int currentPage,int pageSize, int totalCount, List<T> data){
        this.currentPage = currentPage;
        this.pageSize = pageSize;
        this.totalCount = totalCount;
        this.data = data;

        if (currentPage > totalCount){
            this.totalPage = 1;
            this.prevPage = 1;
            this.nextPage = 1;
        }

        this.totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
        this.prevPage = currentPage - 1 > 1 ? this.totalPage - 1 : 1;
        this.nextPage = currentPage + 1 < this.totalPage ? currentPage + 1 : this.totalPage;
    }
}
